From b86fc53821169313dc6bfe9985902d5e84397010 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Fri, 17 Oct 2025 19:42:21 +0200 Subject: [PATCH] loginDialog: Sort session list by name Instead of sorting the available sessions by their ID, sort them by their name. This ensures that the list is sorted based on the system locale. Part-of: --- js/gdm/loginDialog.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js index 26966b633..1b568cbde 100644 --- a/js/gdm/loginDialog.js +++ b/js/gdm/loginDialog.js @@ -385,17 +385,20 @@ const SessionMenuButton = GObject.registerClass({ _populate() { let ids = Gdm.get_session_ids(); - ids.sort(); if (ids.length <= 1) { this._button.hide(); return; } - for (let i = 0; i < ids.length; i++) { - let [sessionName, sessionDescription_] = Gdm.get_session_name_and_description(ids[i]); + const sessions = ids.map(id => { + const [sessionName] = Gdm.get_session_name_and_description(id); + return {id, sessionName}; + }); + + sessions.sort((a, b) => a.sessionName.localeCompare(b.sessionName)); - let id = ids[i]; + for (const {id, sessionName} of sessions) { let item = new PopupMenu.PopupMenuItem(sessionName); this._menu.addMenuItem(item); this._items.set(id, item); -- 2.39.5